package com.ztgf.shopping.mapper.shop;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.ztgf.shopping.models.bo.shop.ShopSysInvoiceBO;
import com.ztgf.shopping.models.bo.shop.ShopSysInvoiceQueryBO;
import com.ztgf.shopping.models.dto.shop.ShopSysInvoiceDTO;
import com.ztgf.shopping.models.vo.shop.ShopSysInvoiceRelevanceVO;
import com.ztgf.shopping.models.vo.shop.ShopSysInvoiceVO;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * 店铺平台开票映射
 *
 * @author liyang
 * @Date 2021-05-26 12:08:14
 */
public interface ShopSysInvoiceMapper extends BaseMapper<ShopSysInvoiceDTO> {
    List<ShopSysInvoiceVO> queryPageList(Page<ShopSysInvoiceVO> page, @Param("item")ShopSysInvoiceBO bo);

    List<ShopSysInvoiceVO> queryPageListByMonth(Page<ShopSysInvoiceVO> page, @Param("item")ShopSysInvoiceBO bo, @Param("status")Integer status);

    List<ShopSysInvoiceRelevanceVO> selectVOS(@Param("id")Long id);

    List<ShopSysInvoiceVO> applyInvoice(@Param("item")ShopSysInvoiceQueryBO bo);

    List<ShopSysInvoiceVO> applyInvoiceByMonth(@Param("date")Date date, @Param("item")ShopSysInvoiceQueryBO bo);

    List<ShopSysInvoiceVO> selectByMonth(@Param("date")Date date, @Param("shopId")Long shopId,@Param("priceType")Integer priceType,@Param("sellOrBuyType")Integer sellOrBuyType);

    ShopSysInvoiceVO queryPriceNot(@Param("item")ShopSysInvoiceBO bo);

    ShopSysInvoiceVO queryPageListPrice(Page<ShopSysInvoiceVO> page, @Param("item")ShopSysInvoiceBO bo, @Param("month")Date month, @Param("status")Integer status);
}
